package dao

import (
	"go.uber.org/zap"
	"gorm.io/gorm"
	"kf/models/entity"
)

type ConfigDao struct {
	DB  *gorm.DB
	Log *zap.Logger
}

var CustomConfigs []entity.Config

func (configDao *ConfigDao) UpdateConfig(key string, value string) {
	c := &entity.Config{
		ConfValue: value,
	}
	configDao.DB.Model(c).Where("conf_key = ?", key).Updates(c)
	configDao.InitConfig()
}
func (configDao *ConfigDao) FindConfigs() []entity.Config {
	var config []entity.Config
	err := configDao.DB.Find(&config).Error
	if err != nil {
		configDao.Log.Error("查询配置失败", zap.Error(err))
	}
	return config
}

// 初始化获取配置信息
func (configDao *ConfigDao) InitConfig() {
	CustomConfigs = configDao.FindConfigs()
}
func (configDao *ConfigDao) FindConfig(key string) string {
	for _, config := range CustomConfigs {
		if key == config.ConfKey {
			return config.ConfValue
		}
	}
	return ""
}
